#include <algorithm>
#include <vector>
#include <iostream>
#include <iterator>
#include <cmath>
#include <cstdlib>
#include <catch2/catch.hpp>
#include <utils.hpp>
#include <wasm_config.hpp>
#include <eosio/vm/backend.hpp>

using namespace eosio;
using namespace eosio::vm;
extern wasm_allocator wa;

BACKEND_TEST_CASE( "Testing wasm <f32_0_wasm>", "[f32_0_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.0.wasm");
   backend_t bkend( code );
   bkend.set_wasm_allocator( &wa );
   bkend.initialize(nullptr);

   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483650));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872257));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388607));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872255));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388609));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2155872257));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2155872255));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(8388607));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(8388609));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2164260864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(16777216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3217031168));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1069547520));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3235450843));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1085870043));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3233353691));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1087967195));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3217031168));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1069547520));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3221225472));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1073741824));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3236499419));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1084821467));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3232305115));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1089015771));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3235450843));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3233353691));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1085870043));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1087967195));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3236499419));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3232305115));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1084821467));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1089015771));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3242790875));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1095307227));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "add", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483650));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(8388607));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2155872257));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(8388609));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2155872255));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2155872255));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2155872257));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(8388609));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(8388607));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2164260864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(16777216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3217031168));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1069547520));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1085870043));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3235450843));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1087967195));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3233353691));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3217031168));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1069547520));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3221225472));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1073741824));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1084821467));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3236499419));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1089015771));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3232305115));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3233353691));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3235450843));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1087967195));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1085870043));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3232305115));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3236499419));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1089015771));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1084821467));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3242790875));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1095307227));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sub", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(6));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2147483654));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2147483654));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(6));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(889192447));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3036676095));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(3036676095));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(889192447));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4194304));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2151677952));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2151677952));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4194304));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(29954011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2177437659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2177437659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(29954011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1082130431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3229614079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(3229614079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1082130431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4194304));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2151677952));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2151677952));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4194304));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1048576000));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3196059648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3196059648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1048576000));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1078530011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3226013659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3226013659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1078530011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2130706431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4278190079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4278190079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2130706431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(6));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483654));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483654));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(6));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(29954011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2177437659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2177437659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(29954011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1078530011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3226013659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3226013659));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1078530011));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1109256679));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3256740327));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3256740327));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1109256679));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(889192447));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3036676095));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3036676095));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(889192447));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1082130431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3229614079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3229614079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1082130431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2130706431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4278190079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4278190079));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2130706431));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(0)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "mul", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(0)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(872415232));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3019898880));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3019898880));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(872415232));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2147483650));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483650));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1258291200));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3405774848));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3405774848));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1258291200));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(16777216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2164260864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2164260864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(16777216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1335088));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2148818736));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2148818736));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1335088));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2113929216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4261412864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4261412864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2113929216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1034090883));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3181574531));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3181574531));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1034090883));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1048576));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2148532224));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2148532224));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1048576));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2122317824));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4269801472));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4269801472));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2122317824));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1073741824));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3221225472));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3221225472));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1073741824));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1042479491));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3189963139));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3189963139));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1042479491));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2097152));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2149580800));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2149580800));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2097152));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1095307227));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3242790875));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3242790875));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1095307227));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(13176796));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2160660444));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2160660444));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(13176796));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2116221314));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4263704962));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4263704962));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2116221314));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "div", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(1));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(8388608));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(1056964608));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(1065353216));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(1086918619));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095039));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "min", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483648)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(0)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2147483649)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2155872256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(8388608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3204448256)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1056964608)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3212836864)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1065353216)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(3234402267)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(1086918619)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578687)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095039)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483649));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2155872256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(8388608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3204448256));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1056964608));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3234402267));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086918619));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(2139095040));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4286578688)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2139095040)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483648)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(0)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(8388608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1056964608)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1065353216)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(1086918619)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095039)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2139095040)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4290772992)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(4288675840)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2143289344)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "max", bit_cast<float>(UINT32_C(2141192192)), bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2147483649)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(439682291));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2155872256)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(536870912));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(3204448256)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1060439283));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(3212836864)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(3234402267)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1075866777));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(4286578687)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(1602224127));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(4286578688)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "sqrt", bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3235905536));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086324736));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "floor", bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3233808384));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1088421888));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "ceil", bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3233808384));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086324736));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "trunc", bit_cast<float>(UINT32_C(2141192192)))));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2147483648)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(0)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2147483649)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(1)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2155872256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(8388608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(3204448256)))->to_f32()) == UINT32_C(2147483648));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(1056964608)))->to_f32()) == UINT32_C(0));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(3212836864)))->to_f32()) == UINT32_C(3212836864));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(1065353216)))->to_f32()) == UINT32_C(1065353216));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(3234402267)))->to_f32()) == UINT32_C(3233808384));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(1086918619)))->to_f32()) == UINT32_C(1086324736));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(4286578687)))->to_f32()) == UINT32_C(4286578687));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2139095039)))->to_f32()) == UINT32_C(2139095039));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(4286578688)))->to_f32()) == UINT32_C(4286578688));
   CHECK(bit_cast<uint32_t>(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2139095040)))->to_f32()) == UINT32_C(2139095040));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(4290772992)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(4288675840)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2143289344)))));
   CHECK(check_nan(bkend.call_with_return(nullptr, "env", "nearest", bit_cast<float>(UINT32_C(2141192192)))));
}

BACKEND_TEST_CASE( "Testing wasm <f32_1_wasm>", "[f32_1_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.1.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_10_wasm>", "[f32_10_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.10.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_11_wasm>", "[f32_11_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.11.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_2_wasm>", "[f32_2_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.2.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_3_wasm>", "[f32_3_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.3.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_4_wasm>", "[f32_4_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.4.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_5_wasm>", "[f32_5_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.5.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_6_wasm>", "[f32_6_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.6.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_7_wasm>", "[f32_7_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.7.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_8_wasm>", "[f32_8_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.8.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

BACKEND_TEST_CASE( "Testing wasm <f32_9_wasm>", "[f32_9_wasm_tests]" ) {
   using backend_t = backend<std::nullptr_t, TestType>;
   auto code = backend_t::read_wasm( std::string(wasm_directory) + "f32.9.wasm");
   CHECK_THROWS_AS(backend_t(code), std::exception);
}

